package cn.longwingstech.intelligence.agent.app.tool;

import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpUtil;
import cn.longwingstech.intelligence.agent.common.constant.FileConstant;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;

import java.io.File;

public class ResourceDownloadTool {

    @Tool(description = "从指定URL下载资源到本地")
    public String downloadResource(@ToolParam(description = "要下载的资源URL") String url, @ToolParam(description = "保存到本地的文件名") String fileName) {
        String fileDir = FileConstant.FILE_SAVE_DIR + "/download";
        String filePath = fileDir + "/" + fileName;
        try {
            // 确保目录存在
            FileUtil.mkdir(fileDir);
            // 使用 Hutool 的 downloadFile 方法下载资源
            HttpUtil.downloadFile(url, new File(filePath));
            return "资源成功下载至: " + filePath;
        } catch (Exception e) {
            return "下载资源出错: " + e.getMessage();
        }
    }
}
